home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 (Alt) / MACD 5.bin / workbench / libs / unixlib.lha / unix / src / sigsetmask.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-04  |  341 b   |  18 lines

  1. #include "amiga.h"
  2. #include "signals.h"
  3.  
  4. long sigsetmask(long mask)
  5. {
  6.     int oldmask = _sig_mask, i, imask;
  7.  
  8.     __chkabort();
  9.     _sig_mask = mask;
  10.  
  11.     /* Check all pending signals */
  12.     for (i = 0, imask = 1; i < NSIG; i++, imask <<= 1)
  13.     if ((_sig_pending & imask) && !(_sig_mask & imask))
  14.         _sig_dispatch(i);
  15.  
  16.     return oldmask;
  17. }
  18.